/*********************************************************************************************************************
版权所有 (C), 2021,
设计：山亦青
编码：山亦青
版本：V1.0.0.0
完成日期：2021.4.1
说明:
 本文定义了最基本的信息
其它：
 代码级别：b
 代码架构管理的五个层级，由上至下依次为：
 L(logic): 逻辑，这类代码里面只写业务逻辑，只针对本项目、本工程有效，无复用性，main.cpp通常为l类型
 LI(logic interface): 有业务逻辑含义的接口，这类代码通常为.h文件，顾名思义，定义了包含业务逻辑含义的接口，通常用于同一个项目不同程序员之间的接口定义，也没有复用性。
 I(interface): 接口，这里的接口是通用接口，不包含业务含义，通常也是.h文件。
 U(util): 工具，完成某些具体功能的库。
 B(Base): 基础信息，通常为.h文件，且一个工程中通常只有一个b文件。它定义了基本数据类型、操作系统信息、字节对齐方式等最基本的信息。

规则：
 1. 依赖规则：所有代码，只能依赖比自己层级低的代码，除U和I可以互相依赖以外。
 2. 跨平台规则：I及I以上层级的代码，禁止依赖任何不能跨平台的内容，包括但不限于：基本数据类型、某些操作系统的API等。
 3. 复用性规则：I及I以下层级的代码，需实现跨项目、跨工程的代码复用。
*********************************************************************************************************************/

#ifndef BASE_H
#define BASE_H

// 软件系统环境
#define MAC_OS //操作系统
#define __64_BIT //字长

// 类型转定义
typedef char Int8_t;
typedef unsigned char Uint8_t;
typedef short Int16_t;
typedef unsigned short Uint16_t;
typedef int Int32_t;
typedef unsigned int Uint32_t;
typedef long long Int64_t;
typedef unsigned long long Uint64_t;

typedef float Real32_t;
typedef double Real64_t;
typedef long double Real128_t;

typedef bool Bool_t;
#define Bool_true true
#define Bool_false false

typedef char Char_t;
typedef Char_t* String_t;

#define Constant const

typedef void Void_t;

typedef Int64_t Size_t;

typedef Int32_t Length_t;

#define QT_FRAMEWORK //表示使用了qt框架
#ifdef QT_FRAMEWORK
    #define QCHNTXT(chnstr) QObject::tr(chnstr) //qt中的汉字
#endif

// 缓存大小
#define BUFF_SIZE 1024

#endif // BASE_H
